﻿using Modelos;
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Administracion.Models;

namespace Administracion.Controllers
{
    public class ConsultasController : Controller
    {
        //
        // GET: /Consultas/

        private DataContextGeneral DataContext = new DataContextGeneral();

        public ActionResult Index()
        {
            return View();
        }

        [HttpPost]
        public ActionResult ConsultarToquesPorEmpresa(string fechaDesde, string fechaHasta)
        {
            if (fechaDesde == "")
            {
                fechaDesde = "01/01/1000";
            }

            if (fechaHasta == "")
            {
                fechaHasta = "01/01/4000";
            }

            DateTime fDesde = Convert.ToDateTime(fechaDesde);
            //agregamos un dia para que compare hasta el ultimo segundo del dia 
            DateTime fHasta = Convert.ToDateTime(fechaHasta).AddDays(1);

            var toquesEntreFechas = DataContext.Toques.Where(t => (fDesde <= t.FechaYHoraToque) && (t.FechaYHoraToque < fHasta));

            List<ToquesEmpresa> listaToquesPorEmpresa = new List<ToquesEmpresa>();

            foreach (var empresa in DataContext.Empresas.ToList())
            {
                int cantidadToques = toquesEntreFechas.Where(t => t.Empresa.Codigo == empresa.Codigo).Count();

                ToquesEmpresa resultadosToques = new ToquesEmpresa();
                resultadosToques.Cantidad = cantidadToques;
                resultadosToques.Nombre = empresa.Nombre;

                if (cantidadToques != 0)
                {
                   listaToquesPorEmpresa.Add(resultadosToques); 
                }
                
            }

            return View(model: listaToquesPorEmpresa);
        }

    }
}
